package com.sc.nft.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.entity.DigitalCollectionProductInfoFreeSubscribe;
import com.sc.nft.enums.ClassifyType;
import com.sc.nft.enums.ProductInfoSubscribeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;
@Data
public class SubscribeProductAdminVO {
    @ApiModelProperty("商品名称")
    private String firstTitle;

    @ApiModelProperty("商品uuid")
    private String digitalCollectionProductInfoUuid;

    @ApiModelProperty("系列")
    private String catenaName;

    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date beginTime;

    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty("商品介绍")
    private String productPresentation;

    @ApiModelProperty("特权介绍")
    private String privilegePresentation;

    @ApiModelProperty("分润模板名称")
    private String shareProfitPanelName;

    @ApiModelProperty("分润模板Id")
    private Long shareProfitPanelId;

    @ApiModelProperty(value = "申购开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date subscribeStartTime;

    @ApiModelProperty(value = "申购结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date subscribeEndTime;

    @ApiModelProperty(value = "抽签开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date consistenceStartTime;

    @ApiModelProperty(value = "抽签结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date consistenceEndTime;

    @ApiModelProperty(value = "最大申购码数量")
    private Integer maxSubscribeNum;

    @ApiModelProperty(value = "所需凭证数量")
    private Integer voucherSum;

    @ApiModelProperty(value = "兑换的次数")
    private Integer subscribeSum;

    @ApiModelProperty(value = "最大的中签数量")
    private Integer maxSubscribe;

    @ApiModelProperty(value = "规则展示图")
    private String ruleImg;

    @ApiModelProperty(value = "道具id")
    private Long propId;

    @ApiModelProperty(value = "是否有免费申购码配置")
    private Boolean freeSubscribe;

    @ApiModelProperty(value = "是否存在参与条件要求")
    private Boolean participationCondition;

    @ApiModelProperty(value = "条件类型: 1全部满足 2满足之一")
    private ProductInfoSubscribeEnum conditionType;

    @ApiModelProperty("分类")
    private ClassifyType typeClassify;

    @ApiModelProperty("商品条件")
    private List<DigitalCollectionProductInfoConditioAdminVO> addCondition;

    @ApiModelProperty("商品配置的申购码")
    private List<DigitalCollectionProductInfoFreeSubscribeAdminVO> addFreeSubscribes;

}
